package com.swanclouds.redfish.chassis.domain;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.swanclouds.redfish.common.redfish.Status;

public class Temperatures {

    /**指定温度传感器的访问路径**/
    @JsonProperty("@odata.id")
    private String dataId;

    /**指定温度传感器的ID，为其在温度传感器列表中的唯一标识。**/
    @JsonProperty("MemberId")
    private String memberId;

    /**指定温度传感器的名称，包括：
     进风口温度：INPUT_TEMP
     CPU1温度： CPU1_TEMP
     CPU2温度：  CPU2_TEMP**/
    @JsonProperty("Name")
    private String name;

    /**指定温度传感器的当前读数**/
    @JsonProperty("ReadingCelsius")
    private String readingCelsius;

    /**指定温度传感器读取的数值高于正常值，但不是致命的。**/
    @JsonProperty("LowerThresholdCritical")
    private String lowerThresholdCritical;

    /**指定温度传感器读取的数值低于正常值，但不是致命的。**/
    @JsonProperty("LowerThresholdFatal")
    private String lowerThresholdFatal;

    /**指定温度传感器读取的低于正常的数值**/
    @JsonProperty("LowerThresholdNonCritical")
    private String lowerThresholdNonCritical;

    /**指定温度传感器读取的高于正常的**/
    @JsonProperty("UpperThresholdNonCritical")
    private String upperThresholdNonCritical;

    /**指定温度传感器读取的数值高于正常值，但不是致命的。**/
    @JsonProperty("UpperThresholdCritical")
    private String upperThresholdCritical;

    /**指定温度传感器读取的数值高于正常值，且是致命的。**/
    @JsonProperty("UpperThresholdFatal")
    private String upperThresholdFatal;

    /**指定温度传感器可读取的最低温度**/
    @JsonProperty("MinReadingRangeTemp")
    private String minReadingRangeTemp;

    /**指定温度传感器可读取的最高温度**/
    @JsonProperty("MaxReadingRangeTemp")
    private String maxReadingRangeTemp;

    /**指定温度传感器的状态，包括：
     State：温度传感器是否使能
     Health：温度传感器健康状态**/
    @JsonProperty("Status")
    private Status status;

    public String getDataId() {
        return dataId;
    }

    public String getMemberId() {
        return memberId;
    }

    public String getName() {
        return name;
    }

    public String getReadingCelsius() {
        return readingCelsius;
    }

    public String getLowerThresholdCritical() {
        return lowerThresholdCritical;
    }

    public String getLowerThresholdFatal() {
        return lowerThresholdFatal;
    }

    public String getLowerThresholdNonCritical() {
        return lowerThresholdNonCritical;
    }

    public String getUpperThresholdNonCritical() {
        return upperThresholdNonCritical;
    }

    public String getUpperThresholdCritical() {
        return upperThresholdCritical;
    }

    public String getUpperThresholdFatal() {
        return upperThresholdFatal;
    }

    public String getMinReadingRangeTemp() {
        return minReadingRangeTemp;
    }

    public String getMaxReadingRangeTemp() {
        return maxReadingRangeTemp;
    }

    public Status getStatus() {
        return status;
    }

    @Override
    public String toString() {
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            return objectMapper.writeValueAsString(this);
        } catch (JsonProcessingException e) {
        }
        return "Temperatures{" +
                "@odata.id='" + dataId + '\'' +
                "Name='" + name + '\'' +
                "ReadingCelsius='" + readingCelsius + '\'' +
                "LowerThresholdCritical='" + lowerThresholdCritical + '\'' +
                "LowerThresholdFatal='" + lowerThresholdFatal + '\'' +
                "LowerThresholdNonCritical='" + lowerThresholdNonCritical + '\'' +
                "MemberId='" + memberId + '\'' +
                "Status='" + status + '\'' +
                "UpperThresholdCritical='" + upperThresholdCritical + '\'' +
                "UpperThresholdFatal='" + upperThresholdFatal + '\'' +
                "UpperThresholdNonCritical='" + upperThresholdNonCritical + '\'' +
                "MinReadingRangeTemp='" + minReadingRangeTemp + '\'' +
                "MaxReadingRangeTemp='" + maxReadingRangeTemp + '\'' +
                '}';
    }


}
